/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package quanlinganhang.dto;

import java.util.ArrayList;
import quanlinganhang.dao.RuleDAO;

/**
 * Class về các quy định
 *
 * @author phamduong
 */
public class RuleDTO {

    private long soDuToiThieu;
    private long soTienGuiToiThieu;
    private long soTienRutToiThieu;
    private long soTienRutToiDa;
    private long soTienRutToiDaNgay;
    private int soLanRutToiDa;
    private float PhiChuyenKhoan;

    public RuleDTO() {
            try{
                ArrayList t = new ArrayList(RuleDAO.getRules());

                String DuToiThieu = ((ArrayList) t.get(0)).get(0).toString();        
                String TienGuiToiThieu = ((ArrayList) t.get(0)).get(1).toString();  
                String TienRutToiThieu = ((ArrayList) t.get(0)).get(4).toString();  
                String SoLanRutToiDa = ((ArrayList) t.get(0)).get(2).toString();
                String TienRutToiDaGD = ((ArrayList) t.get(0)).get(5).toString();   
                String TienToiDaNgay = ((ArrayList) t.get(0)).get(3).toString();    
                
                this.soDuToiThieu = Long.parseLong(DuToiThieu);
                this.soTienRutToiThieu=Long.parseLong(TienRutToiThieu);
                this.soTienRutToiDa = Long.parseLong(TienRutToiDaGD);
                this.soTienRutToiDaNgay = Long.parseLong(TienToiDaNgay);
                this.soLanRutToiDa = Integer.parseInt(SoLanRutToiDa);
                
                this.soTienGuiToiThieu=Long.parseLong(TienGuiToiThieu);
            }catch(Exception ex){}
    }
    
    /**
     * Kiểm tra rule cho rút tiền vs chuyển khoản
     * @param soDu số dư trước khi trừ
     * @param soTien số tiền rút(hoặc chuyển)
     * @return true: ok, false: thất bại
     */
    public boolean isAvailable(long soDu, long soTien){
         if(soTien<soDuToiThieu || soTien > soLanRutToiDa || (soTien-soDu)<soDuToiThieu)
             return false;
         return true;
    }
    
    /**
     * Kiểm tra rule cho gửi tiền
     * @param soTien số tiền gửi
     * @return true: ok, false: thất bại
     */
    public boolean isAvailable(long soTien){
         if(soTien<soTienGuiToiThieu)
             return false;
         return true;
    }
}
